package com.gosophia.commons;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * 
 * 功能：类与其它类进行类型转换时，标示某个属性的转换规则
 * @author renxuehui
 * @since  2010-9-28
 *  Copyright (c) 2010 Gosophia corporation All Rights Reserved
 */
@Target(ElementType.FIELD)
@Retention(RetentionPolicy.RUNTIME)
public @interface DozerProperty {
    
    /**
     * 要转换（转换前）对象的类型
     * @return
     */
    Class<?> beforeClass() default DozerProperty.class;
    
    /**
     * 要转换（转换前）对象的属性名，属性的子属性用"."分割
     * @return
     */
    String beforeField() default "";
    
    /**
     * 要转换成自己（转换后）的属性名，属性的子属性用"."分割
     * @return
     */
    String myField() default "";
}
